package prtpv;

import java.text.DecimalFormat;

public class LineaTicket {

    public String descripcion;
    public String codigo;
    public int cantidad;
    public float porcentajeDesc;
    public float descuento;
    public float precioUnit;
    public float precioFin;
    public float precioLineaConDesc;
    public float precioLineaSinDesc;

    public LineaTicket(Producto prod, LinProducto lin) {
        codigo = lin.getCod();
        descripcion = prod.descripcion;
        precioUnit = prod.precio;
        // Por si pasa una cantidad negativa
        //cantidad = Math.abs(lin.getCant());
        cantidad = lin.getCant();
        // Si lo queremos anular
        if (lin.getCant()<0)
        {
            cantidad=0;
        }
        porcentajeDesc=0;
        descuento=0;
        precioLineaSinDesc = precioUnit * cantidad;
        
        if (Configuracion.aplicarDescProductos == true) {
            porcentajeDesc = Configuracion.obtenPorcentajeProducto(codigo);
        }


        descuento = precioLineaSinDesc * porcentajeDesc / 100F;
        precioLineaConDesc = precioLineaSinDesc - descuento;
        precioFin = precioLineaConDesc;

        //System.out.println(toString());
    }
    public boolean esValida()
    {
        return precioFin>=0;
    }

    @Override
    public String toString() {
         DecimalFormat formateador = new DecimalFormat("###0.00");
        String sal;
        sal = ("\t\t\t<descr>" + descripcion + "</descr>\n");
        sal += ("\t\t\t<cant>" + cantidad + "</cant>\n");
        sal += ("\t\t\t<pUnit>" + formateador.format(precioUnit) + "</pUnit>\n");
        sal += ("\t\t\t<dctoLin>" + formateador.format(descuento) + "</dctoLin>\n");
        sal += ("\t\t\t<pLin>" + formateador.format(precioFin) + "</pLin>\n");

        return sal;
    }
    public void setDescuento(Float desc)
    {
        descuento = desc;
    }

    public void setPrecioFin(Float prec)
    {
        precioFin = prec;
    }
}
